package com.wang.mapper;

import com.wang.model.ProductDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wang.vo.ProductVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author 落日孤城
 * @since 2025-05-22
 */
public interface ProductMapper extends BaseMapper<ProductDO> {

    /**
     * 批量查询商品信息
     * @param productIdList
     * @return
     */
    List<ProductVO> findProductsByIdBatch(@Param("productIdList") List<Long> productIdList);

    /**
     * 锁定商品库存
     * @param productId
     * @param buyNum
     * @return
     */
    int lockProductStock(@Param("productId") long productId,@Param("buyNum") int buyNum);

    /**
     * 释放商品锁定库存
     * @param productId
     * @param buyNum
     */
    void releaseProductStock(@Param("productId") Long productId,@Param("buyNum") Integer buyNum);
}
